form>.formgen * {
    box-sizing: border-box !important;
}

form>.formgen,
._op-container .formgen {
    position: relative;
    margin-left: -15px;
    margin-right: -15px;
}

.detail form>.formgen,
.detail ._op-container .formgen {
    margin-left: 0;
    margin-right: 0;
}

@media (min-width: 576px) {
    .big-content form>.formgen {
        display: flex;
        flex-wrap: wrap;
    }

    .big-content .formgen_row:not(.formgen_row_wide) .formgen_bottom_sub {
        display: flex;
        flex-wrap: wrap;
        align-content: center;
        align-items: center;
    }
}

form>.formgen>p {
    width: 100%
}

form>.formgen>p:first-child {
    margin-bottom: 15px;
}

form>.formgen>*,
form>.formgen>fieldset.formgen_row {
    padding-left: 15px;
    padding-right: 15px;
}

.formgen_row .formgen_top label,
.phone-wrapper .formgen_top .formgen_legend_wrapper {
    margin-bottom: 7px;
    display: block;
}

.formgen_top .formgen_legend_wrapper {
    display: inline-block !important;
    float: none !important;
}

.formgen_left legend,
.formgen_legend_wrapper,
.formgen_top legend {
    font-weight: 700;
}

.formgen_row .formgen_top legend, .formgen_row>legend {
    margin-bottom: 0;
}

.formgen_row .formgen_top label, .formgen_row .formgen_top legend, .formgen_row>legend {
    border: none;
    font-size: inherit;
    display: block;
}

.formgen_element,
.hasDatepicker {
    color: inherit !important;
    display: block;
    padding: 8px 15px;
    margin-top: 15;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.15);
}

.formgen:not(.accessible-view) :is(.formgen_element, .hasDatepicker) {
    border: none !important;
}

.accessible-view :is(.formgen_element, .hasDatepicker) {
    border: 1px solid rgba(0, 0, 0, 0.5);
}

.darkMode :is(.formgen_element, .hasDatepicker) {
    background-color: rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.15);
}

.accessible-view .darkMode :is(.formgen_element, .hasDatepicker) {
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.formgen_row select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='rgba(0,0,0,0.8)'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E") !important;
    background-position: right 10px center !important;
    background-repeat: no-repeat !important;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    transition: none;
}

.darkMode .formgen_row select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='rgba(255,255,255,1)'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E") !important;
}

.darkMode .formgen_row select option {
    color: #292929;
}

.hasDatepicker,
.formgen_row select {
    padding-right: 40px;
}

.hasDatepicker {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='rgba(0,0,0,0.8)'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z'/%3E%3C/svg%3E") !important;
    background-position: right 10px center !important;
    background-repeat: no-repeat !important;
}

.darkMode .hasDatepicker {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='rgba(255,255,255,1)'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z'/%3E%3C/svg%3E") !important;
}

.formgen_element:not(.telefon):not([type="file"]),
.hasDatepicker {
    border-left: 4px solid #c72623 !important;
}

.formgen_row {
    margin-bottom: 10px;
}

@media (min-width: 576px) {

    .big-content .formgen_row:not(fieldset),
    .big-content .formgen_row:not(.formgen_row_wide) .formgen_bottom_sub>.subfield,
    .big-content  .formgen_row.phone-wrapper {
        width: 50% !important;
    }
}

@media (min-width: 992px) {

    .big-content .formgen_row:not(fieldset),
    .big-content .formgen_row:not(.formgen_row_wide) .formgen_bottom_sub>.subfield,
    .big-content  .formgen_row.phone-wrapper {
        width: 33.33% !important;
    }
}

.big-content .formgen_row.formgen_row_wide,
.big-content fieldset.formgen_row {
    width: 100% !important;
}

.formgen_bottom .vorwahl_div input, .formgen_bottom .vorwahl, .formgen_bottom .vorwahl_div {
    width: 100px !important;
    margin-left: 0 !important;
    float: none !important;
}

.formgen_bottom .vorwahl_div+.telefon_div input[type="tel"], .formgen_bottom .vorwahl+.telefon, .formgen_bottom .telefon_div {
    width: calc(100% - 100px) !important;
    margin-left: 15px !important;
}

.formgen_bottom input.vorwahl,
.formgen_bottom input.telefon,
.formgen_bottom .vorwahl_div,
.formgen_bottom .telefon_div {
    display: inline-block;
}

.formgen_bottom input[type="file"],
.formgen_bottom select {
    cursor: pointer;
}

.formgen_bottom .formgen_element[type="file"] {
    padding-left: 10px;
    padding-right: 10px;
}

fieldset .formgen_bottom_sub {
    margin-left: -15px;
    margin-right: -15px;
}

.formgen_bottom_sub>.subfield {
    padding-left: 15px;
    padding-right: 15px;
    margin-top: 7px;
    position: relative;
}

.formgen_bottom_sub>.subfield label {
    cursor: pointer;
    padding-left: 35px;
    min-height: 26px;
    margin: 0;
    font-weight: normal;
    display: flex;
    align-content: center;
    align-items: center;
    position: relative;
}

.formgen_bottom_sub>.subfield input {
    position: absolute;
    opacity: 0;
}

.formgen_bottom_sub>.subfield label::before,
.formgen_bottom_sub>.subfield label::after {
    content: "";
    position: absolute;
    transition: transform 150ms linear;
}

.formgen_bottom_sub>.subfield>input[type="radio"]+label::before {
    z-index: 1;
    left: 10px;
    top: 10px;
    background: #3d8538;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    transform: scale(0);
}

.darkMode .formgen_bottom_sub>.subfield>input[type="radio"]+label::before {
    background: #ffffff;
}

.formgen_bottom_sub>.subfield>input[type="radio"]:checked+label::before {
    transform: scale(1);
}

.formgen_bottom_sub>.subfield>input[type="checkbox"]+label::before {
    z-index: 1;
    left: 7px;
    top: 8px;
    width: 12px;
    height: 7px;
    border-left: 2px solid #3d8538;
    border-bottom: 2px solid #3d8538;
    transform: rotate(-45deg) scale(0);
}

.darkMode .formgen_bottom_sub>.subfield>input[type="checkbox"]+label::before {
    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
}

.formgen_bottom_sub>.subfield>input[type="checkbox"]:checked+label::before {
    transform: rotate(-45deg) scale(1);
}

.formgen_bottom_sub>.subfield label::after {
    border: 1px solid rgba(0, 0, 0, 0.5);
    background-color: rgba(255, 255, 255, 0.8);
    width: 26px;
    height: 26px;
    top: 0;
    left: 0;
    transition: border 300ms linear;
}
.formgen_bottom_sub>.subfield input:focus ~ label::after {
    outline: 1px auto;
}

.darkMode .formgen_bottom_sub>.subfield label::after {
    border: 1px solid rgba(255, 255, 255, 0.6);
    background-color: rgba(255, 255, 255, 0.3);
}

.formgen_bottom_sub>.subfield>input[type="radio"]+label::after {
    border-radius: 50%;
}

.formgen_bottom_sub>.subfield>input[type="checkbox"]+label::after {
    border-radius: 2px;
}

.formgen_bottom>.ui-datepicker-trigger {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    cursor: pointer;
    width: 35px;
    opacity: 0;
}

.formgen_bottom>.ui-datepicker-trigger:not(.tableimage):not(.placeholder-image) {
    height: 100% !important;
}

input[type=file]::-ms-browse {
    margin: -11px 15px -11px -15px;
    padding: 11px 15px 11px 15px;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    background: #313a44;
    color: #ffffff;
    border: none;
    font-family: inherit;
    transition: box-shadow 300ms linear;
}

input[type=file]::-ms-browse:hover,
input[type=file]::-ms-browse:focus {
    box-shadow: 4px 0 0 0 rgba(0, 0, 0, 0.8);
}

.darkMode input[type=file]::-ms-browse:hover,
.darkMode input[type=file]::-ms-browse:focus {
    box-shadow: 4px 0 0 0 rgba(255, 255, 255, 0.6);
}

input[type=file]::-webkit-file-upload-button {
    margin: -11px 15px -11px -15px;
    padding: 11px 15px 11px 15px;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    background: #313a44;
    color: #ffffff;
    border: none;
    font-family: inherit;
    transition: box-shadow 300ms linear;
}

input[type=file]::-webkit-file-upload-button:hover,
input[type=file]::-webkit-file-upload-button:focus {
    box-shadow: 4px 0 0 0 rgba(0, 0, 0, 0.8);
}

.darkMode input[type=file]::-webkit-file-upload-button:hover,
.darkMode input[type=file]::-webkit-file-upload-button:focus {
    box-shadow: 4px 0 0 0 rgba(255, 255, 255, 0.6);
}

input[type=file]::file-selector-button {
    margin: -11px 10px -11px -10px;
    padding: 11px 10px 11px 10px;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    background: #313a44;
    color: #ffffff;
    border: none;
    font-family: inherit;
    transition: box-shadow 300ms linear;
}

input[type=file]::file-selector-button:hover,
input[type=file]::file-selector-button:focus {
    box-shadow: 4px 0 0 0 rgba(0, 0, 0, 0.8);
}

.darkMode input[type=file]::file-selector-button:hover,
.darkMode input[type=file]::file-selector-button:focus {
    box-shadow: 4px 0 0 0 rgba(255, 255, 255, 0.6);
}

.formgen_description.formgen_infoButton {
    width: 24px !important;
    height: 24px !important;
    margin-right: 6px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='rgba(0,0,0,0.8)'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E") !important;
    background-color: transparent !important;
}

.darkMode .formgen_description.formgen_infoButton {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='rgba(255,255,255,1)'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E") !important;
}

.formgen_description.formgen_infoButton::after {
    content: none;
}

.formgen_top .formgen_description.formgen_infoButton>div {
    line-height: 24px;
}

.formgen_top .formgen_description.formgen_infoButton+div {
    padding-left: 0;
}

.tooltipster-base {
    padding: 10px;
}

form>.form-submit {
    color: #ffffff;
    background: #c72623 !important;
    padding: 11px 20px !important;
    border-radius: 8px;
    border: none;
    font-weight: bolder;
    transition: box-shadow 300ms linear;
}

form>.formgen~p input[type="submit"].form-submit:hover,
form>.formgen~p input[type="submit"].form-submit:focus {
    box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.8);
}

.darkMode form>.formgen~p input[type="submit"].form-submit:hover,
.darkMode form>.formgen~p input[type="submit"].form-submit:focus {
    box-shadow: 0 4px 0 0 rgba(255, 255, 255, 0.6);
}

#formdescription + .big-content {
    margin-top: 30px;
    border-top: 1px solid rgba(0, 0, 0, 0.5);
}

.darkMode #formdescription + .big-content {
    border-color: rgba(255, 255, 255, 0.3);
}

#formdescription {
    margin-bottom: 15px;
}